554. 砖墙
554. 砖墙
Similar Question
leading to the advanced question
Solution Tips
方案一: 哈希统计
var leastBricks = function(wall) {
const map = {};
// 一堵墙总的宽度是固定的, 比如 6, 刨除 0 和 6, 一共剩下 5 个可能的位置, 可以穿线
for (let row = 0; row < wall.length; row++) {
let col = 0;
for (let i = 0; i < wall[row].length - 1; i++) {
const block = wall[row][i];
// 前面的累计宽度, 代表了当前槽位的索引, 最后一块砖不用统计
col += block;
map[col] = (map[col] || 0) + 1;
}
}
const max = Object.keys(map).reduce((max, col) => Math.max(max, map[col]), 0);
return wall.length - max;
};
console.log(leastBricks([[1,2,2,1],[3,1,2],[1,3,2],[2,4],[3,1,2],[1,3,1,1]]));